NKCTF Misc部分复现
[NSSCTF]Misc部分题复现
easy_rgb (montage拼图 gaps恢复顺序 AES加解密)
给了一个文件夹和一个有密码的压缩包 文件夹里面有180张小图 考虑用montage拼图后在用gaps拼成正确的图
使用montage
首先在kali中cd进小图所在的文件夹 将小图的总数分解 比如该题180张分为15*12(能分成正方形最好是正方形) 命令为:
montage *.png -tile 15x12 -geometry +0+0 flag.png
就可以在文件夹中找到这个拼接好的图片
然后要用ps 修改图片的长宽为1:1 用较大的数值为边长 是图片为正方形 便于后续size参数的计算
然后是在kali中使用gaps 恢复正常图片
命令为:python3 gaps –image=flag2.png –size=125 –save
size为正方形小图的边长 刚刚ps的时候改变了整体的长宽 注意此时的小正方形的边长也要发生改变
得到一个密码:NKCTF2023 用此密码打开刚刚的压缩包得到三个文档r.txt g.txt b.txt
将三个文档内容放在一起 竖着读(脑洞) 发现是压缩包结构
f_1=open('r.txt','r')
f_2=open('g.txt','r')
f_3=open('b.txt','r')
r1=f_1.read()
r2=f_2.read()
r3=f_3.read()
for i in range(0, len(r2)-1):
print(r1[i] + r2[i] + r3[i], end='')
504b03041400000008003dba6a5654369fb2420000004000000008000000666c61672e747874f3740aa94cb32c48af0cb22c70760df20932f52bf52fc8f4f70b76370c8b2a28c92d0bf54ccf0fd40f0a712d08890a080b09374a3437b72cc87172f32c4bf6d30600504b010214001400000008003dba6a5654369fb24200000040000000080024000000000000002000000000000000666c61672e7478740a0020000000000001001800c4ecda7d6353d90185c557aa6553d9016a47568f6553d901504b050600000000010001005a0000006800000007004145532d3132
放在010editor里面 save为压缩包 解压得到一串字符
IBTyf9pgyR9pCERLR5NuOpiONSG1VZptmvUIgoQ/RTEpTZPVTW2a779plBFIvcN+
提示是AES加密 不需要偏移量 猜测密钥就是刚刚的NKCTF2023
:horse:NKCTF{603fcdfc-652b-40e4-90cf-f27c2edc2d9f}
easy_word(掩码爆破 lsb隐写)
先在给的压缩包中看到了注释 对密码信息进行了提示
设置掩码进行爆破
(掩码设置可以看这篇)
得到密码h4evOF90
打开了加密文档 但是并没有flag
binwalk分离一下 找到了一张图片 拿到key:Welcome_to_NKCTF
放到stegsolve中看一下 发现不对劲 是lsb隐写
密码就是图片中的密码
得到flag:horse:NKCTF{dc0684dd-5a57-4d47-b9c0-debed0ef28b9}
first spam of rabbit year(与佛论禅 零宽隐写 rot13 rot47 rabbit加解密)
题目已经告诉我们了 这是一个垃圾邮件 翻到最底下 有一串社会主义核心价值观编码:
法治文明公正民主公正文明公正文明公正敬业法治自由文明富强友善爱国平等爱国友善敬业爱国爱国文明富强公正诚信和谐公正诚信平等法治公正公正平等
解码为:rabbit 又 move
找到一个叫spammimic的网站 可以解密垃圾邮件spammimic - decoded
试了普通的与佛论禅发现领悟不了佛的真意 尝试是加密的与佛论禅 密码就是rabbit 得到一串字符
&auD5v'<)
h{dF6C_*’Jrcqzrh&ZaF>g^Hr'}vuHZJB%~}_H5?gu;q)"<rA?{sH2{IfafKfu=6w_tip:47&13
放在厨子里面看一下 就看到有零宽隐写 在猫捉鱼铃网站上找到在线零宽解密工具
EnoOoO1G
为隐写信息 再刚刚得到的字符串中有tip:47&13 是指rot47和rot13
对零宽隐写的内容进行rot13解密
得到RabBbB1T
在对字符串&auD5v'<)
h{dF6C_*’Jrcqzrh&ZaF>g^Hr'}vuHZJB%~}_H5?gu;q)"<rA?{sH2{IfafKfu=6w
进行rot47解码
得到U2FsdGVkX19L5uer0YVyC4BKC9U+2um18/wCVNGFw+yqTON0wdn8FjBXQkCpnLDwaLx727z7FleH
进行rabbit解密 拿到flag
NKCTF{H4Ppy_tH3_Y34r_0f_R4BbBbbbB1tTtTtT}
三体(bmp提取信息)
开局一张bmp图片
from PIL import Image
def decode(im):
width,height = im.size
lst = []
for y in range(height):
for x in range(width):
red,green,blue = im.getpixel((x,y))
if(blue | green | red) == 0:
break
index = (green<<8) + blue
lst.append(chr(index))
return ''.join(lst)
if __name__=='__main__':
all_text = decode(Image.open("三体.bmp","r"))
with open ("decode.text","w",encoding = "utf-8") as f:
f.write(all_text)
脚本直接提取
NKCTF{3d77dc1a37b2d1ebf489c973f554ea10}
easy_music(openbuff软件 波形频谱隐写)
题目提示要有三个密码
用audacity打开
发现psdB:74208645
010editor打开在尾部发现psdC:01374890
在前面的波形很像二进制 对应二进制数字是
01110000 01110011 01100100 01000001 00111010 00111000 00110011 00111001 00110111 00111001 00110011 00110110 00110111
转为文本(注意为八位算一个字节)
得到psdA:83979367
要使用的软件就是openbuff
:horse:NKCTF{52d446a51c6896af878f872e0d748118}
TH Master(游戏题 作弊器的使用)
游戏题 使用东方星莲船修改器 把分数改成200000000分就OK了
在replay的th12_01.rpy文件中就可以找到flag
:horse:NKCTF{U_R_re411y_g00d_At_p14ying_t0h0u}
easy_bmp(爆破出bmp文件的宽度 puzzlesolver工具的使用)
打开是一个有密码的压缩包和两张有问题的bmp
一张直接看出的高度有问题 修改一下得到key的前半段
剩下一张bmp文件名是width提示要修改宽度 选择python脚本来进行爆破 在里面找出最清楚的一张
import struct
with open('width.bmp', 'rb') as f:
data = f.read()
width = struct.unpack('<i', data[18:22])[0]
height = struct.unpack('<i', data[22:26])[0]
# 爆破 BMP 文件的宽度
for i in range(1000, 1500):
f1 = open('bpout' + str(i) + '.bmp', 'wb')
img = data[:18] + struct.pack('>i', i)[::-1] + data[22:]
f1.write(img)
f1.close()
组合起来就是key:BMP_Height_width_easy
打开是一张flag.bmp 看到前面图片里的”SAME”猜测也是宽高发生了变化 使用puzzlesolver工具进行处理
得到一张二维码
用sharex扫描一下 得到flag
:horse:NKCTF{eab1291e-9e37-4ff1-b76d-f1af63eaad43}
easypic(用图片做加密容器的密钥 近邻法缩放图片)
题目描述:出题人把flag偷偷藏在加密盘里面了,你知道怎么把它还原出来吗
附件为一张图片 在图片png文件尾后发现藏了东西 可以分离为一张图片和一个vc容器加密盘 密钥文件就是图片
加密容器里面有一张图片
隐隐约约可以看见背景图层还是一张图片 又在010editor看见flag.png文件尾有一个tip:566*566 所以用ps将图片尺寸改一下
得到flag:horse:NKCTF{49ce8740502743585c4a44404e62d8f9}